<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
	request.setAttribute("webApp", basePath);
	request.setAttribute("lib",basePath+"lib/");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>客服</title>
	<script type="text/javascript" src="lib/jquery/1.11.3/jquery.min.js"></script>
	<script type="text/javascript" src="lib/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
	<link rel="stylesheet" href="lib/layui/css/layui.css">
	<script src="layui/layui.js"></script>
	<script type="text/javascript" src="lib/kefu.js" ></script>
	<script type="text/javascript">
		var webApp="${webApp}";
	</script>
	<script type="text/javascript">
		/*
		 * 客服方法
		 * 传入参数:客服项目host地址
		 */
		
		jQuery.fn.kefu1=function(conf){
			//config
			var user_img="./lib/imgs/def_user_img.png";
			if(conf.user_img!=undefined){
				user_img=conf.user_img;
			}
			if(conf.host==undefined){conf.host="127.0.0.1";}
			
			var socket_server="ws://127.0.0.1:8080/Jstx/client.c";
			
			//var lt_logs=layui.cache.dir + 'css/modules/layim/html/chatlog.html';
			
			var init_kf=function(layim,layer,lt_id){
				var user_mine={
				        "username": "访客" //我的昵称
				        ,"id": lt_id //我的ID
				        ,"status": "online" //在线状态 online：在线、hide：隐身
				        ,"remark": "" //我的签名
				        ,"avatar": user_img//用户头像头像
				      };
				//创建工具
				layim.on('tool(a)', function(insert, send, obj){ //事件中的tool为固定字符，而code则为过滤器，对应的是工具别名（alias）
				  layer.prompt({
				    title: '插入链接'
				    ,formType: 2
				    ,shade: 0
				  }, function(text, index){
				    layer.close(index);
				    insert('a('+text+')[链接:'+text+']'); //将内容插入到编辑器，主要由insert完成
				    send(); //自动发送
				  });
				});
				var ws;
				layim.on('ready', function(options){
					//创建窗口后,执行
					ws = new WebSocket(socket_server);
					//发送用户上线请求
// 					ws.send(JSON.stringify({
// 						    type: 'init' //随便定义，用于在服务端区分消息类型
// 						    ,data: {
// 						    	form:user_mine,
// 						    	to:""
// 						    }
// 					}));
				});	
				layim.on('sendMessage', function(res){
				  var mine = res.mine; //包含我发送的消息及我的信息
				  if(ws==undefined){
					layer.msg("失去会话链接");
				  	return;
				  }
				  ws.send(JSON.stringify({
				    type: 'send' //随便定义，用于在服务端区分消息类型
				    ,data: res
				   }));
				});
				//初始化客服信息配置
				layim.config({
				    //配置客户信息
				    init: {
				      //配置客户信息
				      mine:user_mine
				    }
				    //上传图片接口
				    ,uploadImage: {
				      url: lt_server+'upload/img.c' //（返回的数据格式见下文）
				      ,type: 'post' //默认post
				    }
				    //上传文件接口
				    ,uploadFile: {
				      url: '/upload/file.c' //（返回的数据格式见下文）
				      ,type: 'post' //默认post
				    }
				    //扩展工具栏
				    ,tool: [
				    	{
					    	alias: 'a' //工具别名
						    ,title: '链接' //工具名称
						    ,icon: '&#xe64d;' //工具图标，参考图标文档
					  	}
				    ]
				    ,brief: true //是否简约模式（若开启则不显示主面板）
				    ,notice: true //是否开启桌面消息提醒，默认false
				    ,voice: true //声音提醒，默认开启，声音文件为：default.wav
				    ,chatLog: lt_logs
				  });
				  //获取在线客服,并创建聊天窗口
				  $.post(lt_server+"init.c",{"uid":lt_id},function(r){
					  if(r.code==0){
					  	layim.chat({
						    name: r.system.username
						    ,type: 'kefu'
						    ,avatar: r.system.avatar
						    ,id: r.system.id
						});
					  }else{
					  	layer.msg(r.msg);
					  }
				  },"json");
			};
			layui.use(['layim', 'layer'], function(layim,layer){
				if(!layim){
			  		layui.layer.msg("客服模块未加载...");
			  		return;
			  	}
	            //获取是否有历史账号
	            var log_id = undefined;
	            var lt_id;
	           	//如果没有,创建新账号
				if(log_id==undefined){
					$.ajax({
						url:lt_server + "register.c",
						type:'post',
						data:{},
						dataType:"json",
						error:function(req,err,th){
							layui.layer.msg("创建聊天账号失败,请稍后刷新页面重试。");
						},
						success:function(r){
							lt_id = r.user.uuid;
							init_kf(layim,layer,lt_id);
						}
					});
				}else{
					lt_id=log_id;
					init_kf(layim,layer,lt_id);
				}
			});
        };
	</script>
	<script type="text/javascript">
		$(function(){
			$(".btn").click(function(){
				$.kefu({
					host:"127.0.0.1",
					ws_url:"ws://127.0.0.1:8080/Jstx/client.c",
					static_path:"http://127.0.0.1:8080/Jstx/",
					local_cookies:true,
					no_sys_open_robot:false
				});
			});
		});
	</script>
  </head>
  
  <body style="height:1024px;">
   	<button class="btn" style="width: 300px;height:300px;">连接客服</button>
   	<br/>
   	<br/>
   	<br/>
   	<br/>
   	<br/>
   	
  </body>
</html>
